package com.lenovo.codestatreport.jira.service;

import com.lenovo.codestatreport.jira.model.AssigneeAndReporter;

import java.util.List;

/**
 * @author Howie Lu
 * @version Create at 2019/05/20
 * @version Update at 2019/05/21
 */
public interface AssigneeAndReporterService {
    /**
     * 通过时间段查询经办人/报告人各项指标
     * @param tablename
     * @param start
     * @param end
     * @return
     */
    List<AssigneeAndReporter> findAllByTime(String tablename, String start, String end);

    /**
     * 查找所有经办人/报告人指标
     * @param tablename
     * @return
     */
    List<AssigneeAndReporter> findAll(String tablename);

    /**
     * 通过项目标识查找指标
     * @param tablename
     * @param projectKey
     * @return
     */
    List<AssigneeAndReporter> findByProjectKey(String tablename, String projectKey);

    /**
     * 查询一共有哪些项目
     * @param tablename
     * @return
     */
    List<String> findAllProjects(String tablename);

    /**
     * 通过员工id查询一段时间内的指标
     * @param tablename
     * @param staffId
     * @param start
     * @param end
     * @return
     */
    List<AssigneeAndReporter> findByStaffByTime(String tablename, String staffId, String start, String end);

    /**
     * 通过项目号查询某段时间内的指标
     * @param tablename
     * @param projectkey
     * @param start
     * @param end
     * @return
     */
    List<AssigneeAndReporter> findByProjectKeyByTime(String tablename, String projectkey, String start, String end);
}
